<# Vytvorene podla https://www.pharminfo.sk/portal/eOrdering/api/security.html Verejný kľúč: j2SjQgX883bEn59Kpvds Privátny kľúč: 5&6XMHG25$2t$^9h&F!7$m8&bDsQ5Q4NC@7#Xw@Nrj3N2N44@q Pri praci s textom je potrebne vsetky konverzie robit z (do) UTF-8! Tento priklad je pisany v powershell scripte. Powershell znak pre "line feed" (novy riadok) je `n (v dokumentacii je uvedene vseobecne zname \n ) #> # Ziskanie potrebnych vstupov Write-Host "Zadaj access-key (verejny kluc):" $msgAC = Read-Host Write-Host "Zadaj method (GET, POST, PUT, DELETE):" $msgM = Read-Host Write-Host "Zadaj date (UTC vo formate RFC1123):" $msgD = Read-Host Write-Host "Zadaj request-params (uz zoradeny):" $msgRP = Read-Host # Vytvorenie textoveho retazca na podpisanie (pozor, powershell pouziva `n miesto \n) $msgToHash = [System.String]::Format("{0}`n{1}`n{2}`n{3}", $msgAC, $msgM, $msgD, $msgRP); Write-Host "`nPodpisovana sprava:`n----------------------" Write-Host $msgToHash Write-Host "----------------------" # Ziskanie privatneho kluca a jeho konverzia na bytove pole Write-Host "`nZadaj privatny kluc:" $key = Read-Host $keyBytes = [System.Text.Encoding]::UTF8.GetBytes($key) # Vytvorenie instancie hmacsha256 utility z privatneho kluca $hmacsha256 = [System.Security.Cryptography.HMACSHA256]::new($keyBytes) # Vyratanie podpisanej spravy $sign = [System.Convert]::ToBase64String($hmacsha256.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($msgToHash))) Write-Host "`nPodpisana sprava:" Write-Host $sign # Cely podpis v hlavicke HTTP $httpAuth = [System.String]::Format("EOv1 {0}:{1}", $msgAC, $sign) Write-Host "`nHlavicka HTTP Authorization:" Write-Host $httpAuth